package cam.School.DataAccessObject;

import java.util.List;

import cam.School.DAOException.DAOException;
import cam.School.DataTransfertObject.CallResult;
import cam.School.DataTransfertObject.ClassRoomDTO;

public interface ClassRoomDAO {

	public ClassRoomDTO getById(Long id) throws DAOException;

	public List<ClassRoomDTO> getAll() throws DAOException;

	public void create(ClassRoomDTO classRoom) throws IllegalArgumentException,
			DAOException;

	public CallResult update(ClassRoomDTO classRoom) throws IllegalArgumentException,
			DAOException;

	public boolean delete(int classRoomId);

	public ClassRoomDTO getByName(String classRoomName);

	public ClassRoomDTO getByCategory(String categoryName);

	public ClassRoomDTO getByState(boolean state);

}
